package com.ruoyi.report_tg.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.report_tg.domain.vo.TgsybgBaDetailVo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 土工试验报告业务对象 report_tg_tgsybg_bs_info
 *
 * @author zyb
 * @date 2024-05-24
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class TgsybgBsInfoBo extends ExcelGeneralBo {

    /**
     * 一份excel表格的唯一id(其他的excel主表，都应有此字段）
     */
    @NotNull(message = "一份excel表格的唯一id(其他的excel主表，都应有此字段）不能为空", groups = { EditGroup.class })
    private Long excelId;

    /**
     * 共几页
     */
//    @NotNull(message = "共几页不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long totalPage;

    /**
     * 第几页
     */
//    @NotNull(message = "第几页不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long page;

    /**
     * 报告编号
     */
//    @NotBlank(message = "报告编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String baogbh;

    /**
     * 检测单位名称
     */
//    @NotBlank(message = "检测单位名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancdwmc;

    /**
     * 工程部位/用途
     */
//    @NotBlank(message = "工程部位/用途不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gongcbwyt;

    /**
     * 样品名称
     */
//    @NotBlank(message = "样品名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpmc;

    /**
     * 样品编号
     */
//    @NotBlank(message = "样品编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpbh;

    /**
     * 样品数量
     */
//    @NotBlank(message = "样品数量不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpsl;

    /**
     * 样品状态
     */
//    @NotBlank(message = "样品状态不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpzt;

    /**
     * 样品时间
     */
//    @NotNull(message = "样品时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpsj;

    /**
     * 检测日期
     */
//    @NotBlank(message = "检测日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancrq;

    /**
     * 试验条件温度
     */
//    @NotBlank(message = "试验条件温度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiytjwd;

    /**
     * 试验条件湿度
     */
//    @NotBlank(message = "试验条件湿度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiytjsd;

    /**
     * 检测依据
     */
//    @NotBlank(message = "检测依据不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancyj;

    /**
     * 判定依据
     */
//    @NotBlank(message = "判定依据不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pandyj;

    /**
     * 主要仪器设备名称及编号
     */
//    @NotBlank(message = "主要仪器设备名称及编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String zhuyyqsbmcjbh;

    /**
     * 取样位置
     */
//    @NotBlank(message = "取样位置不能为空", groups = { AddGroup.class, EditGroup.class })
    private String quywz;

    /**
     * 委托/任务编号
     */
//    @NotBlank(message = "委托/任务编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String weitrwbh;

    /**
     * 土样产地
     */
//    @NotBlank(message = "土样产地不能为空", groups = { AddGroup.class, EditGroup.class })
    private String tuycd;

    /**
     * 代表数量
     */
//    @NotBlank(message = "代表数量不能为空", groups = { AddGroup.class, EditGroup.class })
    private String daibsl;

    /**
     * 附加声明
     */
//    @NotBlank(message = "附加声明不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fujsm;

    /**
     * 小于该孔径质量百分数（%）60
     */
//    @NotNull(message = "小于该孔径质量百分数（%）60不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal xiaoygkjzlbfs60;

    /**
     * 小于该孔径质量百分数（%）40
     */
//    @NotNull(message = "小于该孔径质量百分数（%）40不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal xiaoygkjzlbfs40;

    /**
     * 小于该孔径质量百分数（%）20
     */
//    @NotNull(message = "小于该孔径质量百分数（%）20不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal xiaoygkjzlbfs20;

    /**
     * 小于该孔径质量百分数（%）10
     */
//    @NotNull(message = "小于该孔径质量百分数（%）10不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal xiaoygkjzlbfs10;

    /**
     * 小于该孔径质量百分数（%）5
     */
//    @NotNull(message = "小于该孔径质量百分数（%）5不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal xiaoygkjzlbfs5;

    /**
     * 小于该孔径质量百分数（%）2.0
     */
//    @NotNull(message = "小于该孔径质量百分数（%）2.0不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal xiaoygkjzlbfs2p0;

    /**
     * 小于该孔径质量百分数（%）1.0
     */
//    @NotNull(message = "小于该孔径质量百分数（%）1.0不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal xiaoygkjzlbfs1p0;

    /**
     * 小于该孔径质量百分数（%）0.5
     */
//    @NotNull(message = "小于该孔径质量百分数（%）0.5不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal xiaoygkjzlbfs0p5;

    /**
     * 小于该孔径质量百分数（%）0.25
     */
//    @NotNull(message = "小于该孔径质量百分数（%）0.25不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal xiaoygkjzlbfs0p25;

    /**
     * 小于该孔径质量百分数（%）0.075
     */
//    @NotNull(message = "小于该孔径质量百分数（%）0.075不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal xiaoygkjzlbfs0p075;

    /**
     * 占总土质量百分比（%）2.0
     */
//    @NotNull(message = "占总土质量百分比（%）2.0不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal zhanztzlbfb2p0;

    /**
     * 占总土质量百分比（%）1.0
     */
//    @NotNull(message = "占总土质量百分比（%）1.0不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal zhanztzlbfb1p0;

    /**
     * 占总土质量百分比（%）0.5
     */
//    @NotNull(message = "占总土质量百分比（%）0.5不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal zhanztzlbfb0p5;

    /**
     * 占总土质量百分比（%）0.25
     */
//    @NotNull(message = "占总土质量百分比（%）0.25不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal zhanztzlbfb0p25;

    /**
     * 占总土质量百分比（%）0.075
     */
//    @NotNull(message = "占总土质量百分比（%）0.075不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal zhanztzlbfb0p075;

    /**
     * 不均匀系数Cu
     */
//    @NotNull(message = "不均匀系数Cu不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal bujyxs;

    /**
     * 曲率系数Cc
     */
//    @NotNull(message = "曲率系数Cc不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal qulxs;

    /**
     * 土样定名及代号
     */
//    @NotBlank(message = "土样定名及代号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String tuydmjdh;

    /**
     * 检测结论
     */
//    @NotBlank(message = "检测结论不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancjl;

    /**
     * 详细
     */
    Map<Long, TgsybgBaDetailVo> baDetailVos;

    /**
     * 施工委托单位
     */
    private String shigwtdw;
    /**
     * 工程名称
     */
    private String gongcmc;

    /**
     * 设备ids
     */
    private String shebIds;


}
